package com.aaa.forum.common;

/**
 * 统一状态码
 */
public enum ResultCode {
    // 基本的错误描述
    SUCCESS                     (0, "操作成功"),
    FAILED                      (1000, "操作失败"),
    FAILED_UNAUTHORIZED         (1001, "未授权"),
    FAILED_PARAMS_VALIDATE      (1002, "参数校验失败"),
    FAILED_FORBIDDEN            (1003, "禁⽌访问"),
    FAILED_CREATE               (1004, "新增失败"),
    FAILED_NOT_EXISTS           (1005, "资源不存在"),

    // 与用户有关的错误描述
    FAILED_USER_EXISTS          (1100, "⽤⼾已存在"),
    FAILED_USER_NOT_EXISTS      (1101, "⽤⼾不存在"),
    FAILED_LOGIN                (1102, "⽤⼾名或密码错误"),
    FAILED_USER_BANNED          (1103, "您已被禁⾔, 请联系管理员, 并重新登录."),
    FAILED_TWO_PWD_NOT_SAME     (1104, "两次输⼊的密码不⼀致"),
    FAILED_USERNAME_EXISTS   (1105, "该用户名已被使用"),

    // 与板块有关的错误描述
    FAILED_BOARD_NOT_EXISTS     (1200, "板块不存在"),
    FAILED_BOARD_BANNED         (1202, "板块状态异常"),

    // 与帖子有关的错误描述
    FAILED_ARTICLE_NOT_EXISTS   (1300, "帖子不存在"),
    FAILED_ARTICLE_BANNED         (1301, "帖子状态异常"),

    FAILED_HISTORY_NOT_EXISTS   (1400, "历史记录不存在"),

    FAILED_REPLY_NOT_EXISTS   (1500, "评论不存在"),

    FAILED_COLLECTION_NOT_EXISTS   (1600, "收藏夹不存在"),

    FAILED_BOOKMARK_NOT_EXISTS   (1700, "收藏记录不存在"),

    ERROR_SERVICES              (2000, "服务器内部错误"),
    ERROR_IS_NUL                (2001, "IS NULL.");

    // 状态码
    int code;
    // 描述信息
    String message;

    ResultCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }

    @Override
    public String toString() {
        return "code=" + code + ", message='" + message + '.';
    }
}
